感知器(perceptron)是在 1957 年就被發明出來的的模型,對電腦的發展或是人工智慧來說都是非常早期的。
感知器模型他是一個二元分類的分類器,他解的是分類問題。相對我們前面的線性迴歸解的是迴歸問題,兩者在問題的定義上有根本性的不一樣,那他們兩個有什麼關聯性呢?
現在想像一下,如果你手上有一些資料,這些資料都有兩個維度 ,可以他們畫在二維的平面上,這些資料有的被標記成方塊,有的被標記成圓圈。我現在希望有一種方法可以將不同標記的資料點分開,我們可以怎麼做?
在資料點上,大多相似的資料點會有接近的座標,所以資料點本身就會因為相似性而聚在一起。最直覺的方法就是畫一條直線將他們分開。
我們可以在二維平面上畫一條線來把這些點分開的話,那麼要怎麼以數學的方式呈現呢?
這是我們的二維平面上的線,我們把他移項一下。
當你試著把資料點代入方程式的時候,你會發現不同的點算出來結果會分成兩種:
如果你的線畫的夠好的話,應該是不會有點剛好位於線上而讓 發生的。所以我們是不是能夠透過將點代入公式中,計算出他的結果為正或是為負來決定他應該是方塊或是圓圈。新的資料點就可以透過這樣的運算來做預測。
如果要模型給出一個比較容易理解的預測值的話,我們可以在模型之後再加上一個 來取數值的正負號。
當整件事情拓展到了高維度空間的時候就變成這樣了:
看到了嗎?中間是不是我們的線性迴歸裡的線性模型了呢?
準確來說,是跟線性迴歸沒什麼關係啦!但是同為線性模型可以應用在迴歸問題或是分類問題,有兩種些許不同的形式,是不是很妙呢?
前面說過,常數項在分類器上有些許不一樣的的解釋。
基本上,對一條線來說,常數項仍舊是讓線可以有位移的機會,不過反過來想,如果沒有常數項的話,即便有 可以計算出結果,但是可能仍不足以分隔資料,所以需要加上(或是減掉)一個閾值或是臨界值。